package com.hjj.controller;

import com.hjj.dto.ResultDTO;
import com.hjj.exception.MyLengthException;
import com.hjj.services.DemoServices;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


/**
 * 类和类之间的关系
 *      1、泛化【父子关系】【继承、实现】
 *      2、关联【一个类在另一个类里面当成员变量】【非静态内部类】
 *      3、依赖【方法局部变量(返回值、参数、方法体内部)】
 *
 * 内部类与外部类之间的关系
 *      1、静态内部类与外部类平级(语法上还是外部类.内部类)，非静态内部类属于外部类的属性
 *      2、内部类使用考虑的因素，使用get封装封装出内部类对象让外界使用
 */

@RestController
@RequestMapping("/")
public class IndexController {
    @Autowired
    DemoServices demoServices;

    @RequestMapping("add.action")
    public ResultDTO add(float opt1, float opt2) throws MyLengthException {
        float add = demoServices.add(opt1, opt2);

        // DTO封装
        ResultDTO resultDTO = new ResultDTO();
        resultDTO.setResult(ResultDTO.SUCCESS);
        resultDTO.setData(add);

        return resultDTO;
    }
}
